package org.zjh.controller.action;

import org.zjh.view.ui.GameUi;

import java.awt.event.ActionEvent;
import java.awt.event.ActionListener;

/**
 * @description: 页面返回按钮监听
 * @author 郑佳豪
 * @date 2024/10/9 15:05
 * @version 1.0
 */
public class CancelJbtLis implements ActionListener {
    private static CancelJbtLis cancelJbtLis = new CancelJbtLis();


    private CancelJbtLis() {
    }


    public static CancelJbtLis getInstance() {
        return cancelJbtLis;
    }

    @Override
    public void actionPerformed(ActionEvent e) {
        //获取动作指令
        String actionCommand = e.getActionCommand();

        switch (actionCommand) {
            //登入页面的取消指令
            case "loginCancel":
                //登入页面不可见
                GameUi.loginFrame.setVisible(false);
                //主界面可见
                GameUi.appFrame.setVisible(true);
                //登入界面文本框刷新
                GameUi.loginFrame.getLoginPanel().refresh();
                break;
            //注册界面的取消指令
            case "registerCancel":
                //注册页面不可见
                GameUi.registerFrame.setVisible(false);
                //主程序可见
                GameUi.appFrame.setVisible(true);
                //注册界面文本框刷新
                GameUi.registerFrame.getRegisterPanel().refresh();
                break;
            //找回密码方式界面不可见
            case "findPasswordWayCancel":
                //找回密码方式界面不可见
                GameUi.findPasswordWayFrame.setVisible(false);
                //登入界面可见
                GameUi.loginFrame.setVisible(true);
                //找回密码方式界面文本框刷新
                GameUi.findPasswordWayFrame.getFindPasswordWayPanel().refresh();
                break;
            //修改用户信息取消指令
            case "UpdateCancel":
                //修改账户信息界面不可见
                GameUi.updatePlayerInfoFrame.setVisible(false);
                //如果菜单界面 为空 那么要显示登入界面
                if (GameUi.gameMenuFrame == null) {
                    GameUi.loginFrame.setVisible(true);
                }
                //修改账号界面文本框刷新
                GameUi.updatePlayerInfoFrame.getUpdatePlayerInfoPanel().refresh();
        }
    }
}
